﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for NgayThang
/// </summary>
public class NgayThang
{
	public NgayThang()
	{
		//
		// TODO: Add constructor logic here
		//

	}

    int ktNhuan(int Nam)
    {
        if ((Nam % 4 == 0 && Nam % 4 != 0) || Nam % 400 == 0)
            return 1;
        return 0;
    }

    long SoThuTuTrongNam(int Ngay, int Thang, int Nam)
    {
        long stt = 0;
        int[] ngaythang = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
        if (ktNhuan(Nam) == 1)
            ngaythang[1] = 28;
        int i = 1;
        while (i < Thang)
        {
            stt += ngaythang[i - 1];
            i++;
        }
        return stt + Ngay;
    }

    long SoThuTu(int Ngay, int Thang, int Nam)
    {
        long stt = 0;
        int []ngaythang = {31,29,31,30,31,30,31,31,30,31,30,31};
        if(ktNhuan(Nam)==1)
            ngaythang[1] = 28;
        int i = 1;
        while (i < Nam-1)
        {
            if (ktNhuan(i) == 1)
                stt += 366;
            else
                stt += 365;
            i++;

        }
        return stt + SoThuTuTrongNam(Ngay, Thang, Nam);
    }


    public String NgayKetThuc(int Ngay, int Thang, int Nam, int SoNgay)
    {
        String NgayKT = "";
        long Stt = SoThuTu(Ngay, Thang, Nam) + SoNgay;
        int []ngaythang = {31,29,31,30,31,30,31,31,30,31,30,31};
        int SoNgayNam = 365;
        int i = 1;
        
        while (Stt - SoNgayNam >= 0)
        {
            i++;
            Stt = Stt - SoNgayNam;
            if (ktNhuan(i) == 1)
                SoNgayNam = 366;
            else
                SoNgayNam = 365;
            
        }
        int th = 1;
        while (Stt - ngaythang[th - 1] > 0)
        {
            
            Stt = Stt - ngaythang[th - 1];
            th++;
            if (ktNhuan(i) == 1)
                ngaythang[1] = 28;
        }
        NgayKT = Stt + "/" + th + "/" + i;
        return NgayKT;
    }
}